home *** CD-ROM | disk | FTP | other *** search
/ The Arsenal Files 8 / The Arsenal Files Collection #8 (Arsenal Computer) (1996).ISO / pcboard / vrs501.zip / VRS-M452.PPE (.txt) < prev    next >
PCBoard Programming Language Executable  |  1996-10-08  |  7KB  |  300 lines

  1. ;------------------------------------------------------------------------------
  2. ;                                                   .ss.
  3. ;                                                   `²²'
  4. ;             .,sS$Ss,,s$  .,sS$$$Ss.  .,sS$Ss,,s$ .ss.  .sSs.
  5. ;           .d$$²^°²$$$$'.d$P²°^^²$P'.d$$²^°²$$$$'.$$$' .$$$²Sb,.
  6. ;           $$$'   .$$$' $$$²Sçsµ²' .$$$'   .$$$'.$$$' .$$$'  `$$b.
  7. ;           $$$b,,d$$$' ,$$$b,....,s$$$$b,,d$$$'.$$$;.,$$$'    ;$$$
  8. ;           `²S$$S²²S$$S²°²S$$$$S²°°²S$$$$$$',$$S²°²S$S'.sS$$$P²'
  9. ;                                    .sS²°$$$²²°"'       d²°'
  10. ;                                  .$$²  .$$'
  11. ;                                  $$$.,d$$'
  12. ;                                  `²S$$S²'
  13. ;------------------------------------------------------------------------------
  14. ; P.P.L.X. 2.OO                          (C)1996 - Lone Runner / AEGiS CoRP'96 
  15. ;------------------------------------------------------------------------------
  16. ; PPE 3.2O (Encryption type I) - Analysis ON - Postprocessing ON
  17. ;------------------------------------------------------------------------------
  18.  
  19.     Integer  INTEGER001
  20.     Integer  INTEGER002
  21.     Integer  INTEGER003
  22.     Integer  INTEGER004
  23.     String   STRING001
  24.     String   STRING002
  25.     String   STRING003
  26.     String   STRING004
  27.     String   STRING005
  28.     String   TSTRING006(12)
  29.     String   STRING007
  30.     String   STRING008
  31.     String   STRING009
  32.     String   STRING010
  33.     String   STRING011
  34.  
  35. ;------------------------------------------------------------------------------
  36.  
  37.     Goto LABEL001
  38.     End
  39.     If (0 == 0) STRING001 = "NO"
  40.     If (0 == 1) STRING001 = "YES"
  41.  
  42.     EndFunc
  43.  
  44.     :LABEL001
  45.     STRING011 = "@X01≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡≡@X0F"
  46.     STRING003 = String(PcbNode())
  47.     If (PcbNode() == 0) STRING003 = "A"
  48.     STRING004 = String(Random(1000)) + "X" + STRING003
  49.     STRING005 = GetEnv(STRING003 + "RECNO")
  50.     STRING005 = ToInteger(STRING005)
  51.     DOpen 0, PPEPath() + "USER.DBF", 0
  52.     DnCreate 0, PPEPath() + STRING004 + ".NDX", "HANDLE"
  53.     DGo 0, STRING005
  54.     If (DGet(0, "VITALITY") == "N") Goto LABEL007
  55.     Newline
  56.     If (DGet(0, "CASH") < DGet(0, "LEVEL") * 125) Then
  57.         PrintLn "@X0CYou don't have enough cash on hand to get those access codes...get lost!@X0F"
  58.         Newlines 2
  59.         Call PPEPath() + "VRS-M19.PPE"
  60.     Else
  61.         :LABEL002
  62.         DCloseAll
  63.         DOpen 0, PPEPath() + "USER.DBF", 0
  64.         DGo 0, STRING005
  65.         Cls
  66.         PrintLn 
  67.         PrintLn 
  68.         PrintLn "Virtual Reality Soldier - @X0ABribe the BarKeep@X0F"
  69.         PrintLn STRING011
  70.         PrintLn 
  71.         PrintLn "   @X0A(@X0DL@X0A)@X02ist who is in their sleeping chambers."
  72.         PrintLn "   @X0A(@X0DG@X0A)@X02et access code for a sleeping player. "
  73.         PrintLn "   @X0A(@X0DQ@X0A)@X02uit out of here.                      "
  74.         PrintLn 
  75.         InputStr "@X0AWhat will it be Soldier @X02> _", STRING002, 2, 1, "LGQ", 0 + 8
  76.         Select Case (STRING002)
  77.             Case ""
  78.                 Goto LABEL002
  79.             Case "L"
  80.                 Goto LABEL004
  81.             Case "G"
  82.                 Goto LABEL003
  83.             Case "Q"
  84.                 Goto LABEL007
  85.         End Select
  86.         :LABEL003
  87.         Backup 80
  88.         ClrEol
  89.         InputStr "@X0EWho's access code do you want to buy @X02> _", STRING010, 15, 25, Mask_Ascii(), 0 + 8
  90.         DTag 0, STRING004
  91.         DTop 0
  92.         DSeek 0, STRING010
  93.         If (DChkStat(0) > 0) Then
  94.             Backup 80
  95.             ClrEol
  96.             PrintLn "@X0CThat player was not found!  Try again!@X0F"
  97.             STRING010 = " "
  98.             Delay (3 * 182) / 10
  99.             Goto LABEL003
  100.         Endif
  101.         If ((DGet(0, "VITALITY") == "S") || (DGet(0, "VITALITY") == "B")) Then
  102.             INTEGER003 = DRecNo(0)
  103.             Cls
  104.             PrintLn "@X0AYou grab the access code from the barkeep and run out of the outpost,"
  105.             PrintLn "@X0Aas you decide that it probably is a good idea to get right over to the"
  106.             PrintLn "@X0Asleeping chambers before the barkeep can try to double his money.    "
  107.         Endif
  108.         If (DGet(0, "VITALITY") == "I") Then
  109.             Cls
  110.             Newlines 2
  111.             PrintLn "You find sleeping chamber #", Random(50), " and furtively look around."
  112.             PrintLn "Not seeing anyone, you punch in the access code, grinning slyly as you"
  113.             PrintLn "wait for the chamber door to slide quietly open..."
  114.             Delay (2 * 182) / 10
  115.             PrintLn "... only to find that the access code you punched in doesn't work..."
  116.             Newlines 2
  117.             Call PPEPath() + "VRS-M19.PPE"
  118.         Else
  119.             Cls
  120.             Newline
  121.             PrintLn "You find sleeping chamber #", Random(50), " and furtively look around, not"
  122.             PrintLn "seeing anyone, you punch in the access code, grinning slyly as the chamber"
  123.             PrintLn "door slides quietly open..."
  124.             Newline
  125.             PrintLn "You see ", Mixed(Trim(DGet(0, "HANDLE"), " ")), " laying on their sleeping pad,  "
  126.             PrintLn "their eyes closed and a slight snore escaping from their mouth.  You strike! "
  127.             Newlines 2
  128.             Call PPEPath() + "VRS-M19.PPE"
  129.             INTEGER002 = Random(100)
  130.             If (DGet(0, "VITALITY") == "S") INTEGER002 = INTEGER002 + 15
  131.             If (INTEGER002 <= 30) Then
  132.                 Cls
  133.                 PrintLn 
  134.                 PrintLn "You run them through like a sleeping dog. They had no chance!  You access"
  135.                 PrintLn "their ID chip for ", Trim(DGet(0, "CASH"), " "), " credits while the body is "
  136.                 PrintLn "still warm, and run!"
  137.                 DGo 0, INTEGER003
  138.                 INTEGER001 = DGet(0, "CASH")
  139.                 INTEGER004 = DGet(0, "EXP") / 10
  140.                 DPut 0, "CASH", 0
  141.                 DPut 0, "VITALITY", "N"
  142.                 DPut 0, "HITPTS_L", 0
  143.                 DGo 0, 0
  144.                 DPut 0, "CASH", DGet(0, "CASH") + INTEGER001
  145.                 DPut 0, "EXP", DGet(0, "EXP") + INTEGER004
  146.                 INTEGER001 = 0
  147.                 INTEGER004 = 0
  148.                 Delay (5 * 182) / 10
  149.             ElseIf ((INTEGER002 > 50) && (INTEGER002 < 80)) Then
  150.                 DGo 0, INTEGER003
  151.                 INTEGER001 = DGet(0, "CASH") / 2
  152.                 INTEGER004 = DGet(0, "EXP") / 20
  153.                 Cls
  154.                 PrintLn 
  155.                 PrintLn "Just as you are about to run them through, a snort comes from the body"
  156.                 PrintLn "in front of you, you get nervous and give them a half hearted cut.  You"
  157.                 PrintLn "touch arms to grab up as much of their credits as possible, a "
  158.                 PrintLn INTEGER001, " gain, and run!"
  159.                 DPut 0, "CASH", DGet(0, "CASH") / 2
  160.                 DPut 0, "VITALITY", "Y"
  161.                 DGo 0, 0
  162.                 DPut 0, "CASH", DGet(0, "CASH") + INTEGER001
  163.                 DPut 0, "EXP", DGet(0, "EXP") + INTEGER004
  164.                 INTEGER001 = 0
  165.                 INTEGER004 = 0
  166.                 Delay (5 * 182) / 10
  167.             ElseIf (INTEGER002 >= 80) Then
  168.                 Cls
  169.                 PrintLn 
  170.                 PrintLn "As you are about to run them through, a bolt of electricity crashes"
  171.                 PrintLn "through the open chamber.  Rats!  the local cops nailed you!  The effect"
  172.                 PrintLn "should wear off in 24 hours or so."
  173.                 DPut 0, "VITALITY", "N"
  174.                 DPut 0, "HITPTS_L", 0
  175.                 INTEGER004 = DGet(0, "EXP") / 10
  176.                 DPut 0, "EXP", DGet(0, "EXP") - INTEGER004
  177.                 INTEGER004 = 0
  178.             Endif
  179.             Goto LABEL002
  180.             :LABEL004
  181.             TSTRING006(1) = "Private"
  182.             TSTRING006(2) = "Corporal"
  183.             TSTRING006(3) = "Lance Corporal"
  184.             TSTRING006(4) = "Sergeant"
  185.             TSTRING006(5) = "Gunnery Sergeant"
  186.             TSTRING006(6) = "Lieutenant"
  187.             TSTRING006(7) = "Second Lieutenant"
  188.             TSTRING006(8) = "Captain"
  189.             TSTRING006(9) = "Major"
  190.             TSTRING006(10) = "Colonel"
  191.             TSTRING006(11) = "Lieutenant Colonel"
  192.             TSTRING006(12) = "General"
  193.             DTop 0
  194.             Cls
  195.             Newlines 2
  196.             PrintLn "            @X0ERank               @X0AName                    @X0B  Status    "
  197.             PrintLn "            @X09───────────────────────────────────────────────────────"
  198.             :LABEL005
  199.             DSkip 0, 1
  200.             If (DEof(0)) Goto LABEL006
  201.             STRING009 = DGet(0, "LEVEL")
  202.             STRING008 = Trim(TSTRING006(STRING009), " ")
  203.             STRING010 = Trim(DGet(0, "HANDLE"), " ")
  204.             STRING007 = Trim(DGet(0, "VITALITY"), " ")
  205.             STRING010 = Mixed(STRING010)
  206.             If (((STRING007 == "S") || (STRING007 == "B")) || (STRING007 == "I")) PrintLn "@POS:13@@X0E", STRING008, "@POS:32@@X0A", STRING010, "@POS:57@", "@X0BSLEEPING@X0F"
  207.             Goto LABEL005
  208.             :LABEL006
  209.             Newline
  210.             Call PPEPath() + "VRS-M19.PPE"
  211.             Goto LABEL002
  212.         Endif
  213.     Endif
  214.     :LABEL007
  215.     DCloseAll
  216.     Delete PPEPath() + STRING004 + ".NDX"
  217.     End
  218.  
  219. ;------------------------------------------------------------------------------
  220. ;
  221. ; Usage report (before postprocessing)
  222. ;
  223. ; ■ Statements used :
  224. ;
  225. ;    2       End
  226. ;    8       Cls
  227. ;    2       ClrEol
  228. ;    29      Goto 
  229. ;    39      Let 
  230. ;    39      PrintLn 
  231. ;    18      If 
  232. ;    1       Delete 
  233. ;    2       InputStr 
  234. ;    4       Delay 
  235. ;    4       Newline
  236. ;    5       Newlines 
  237. ;    4       Call 
  238. ;    2       Backup 
  239. ;    1       EndFunc
  240. ;    2       DOpen 
  241. ;    2       DCloseAll
  242. ;    1       DnCreate 
  243. ;    2       DTop 
  244. ;    6       DGo 
  245. ;    1       DSkip 
  246. ;    1       DTag 
  247. ;    1       DSeek 
  248. ;    12      DPut 
  249. ;
  250. ;
  251. ; ■ Functions used :
  252. ;
  253. ;    5       *
  254. ;    9       /
  255. ;    20      +
  256. ;    1       -
  257. ;    15      ==
  258. ;    2       <
  259. ;    1       <=
  260. ;    2       >
  261. ;    1       >=
  262. ;    11      !
  263. ;    1       &&
  264. ;    3       ||
  265. ;    5       Trim()
  266. ;    4       Random()
  267. ;    2       String()
  268. ;    1       Mask_Ascii()
  269. ;    8       PPEPath()
  270. ;    2       PcbNode()
  271. ;    1       GetEnv()
  272. ;    1       ToInteger()
  273. ;    2       Mixed()
  274. ;    1       DEof()
  275. ;    1       DRecNo()
  276. ;    23      DGet()
  277. ;    1       DChkStat()
  278. ;
  279. ;------------------------------------------------------------------------------
  280. ;
  281. ; Analysis flags : C
  282. ;
  283. ; C - Call child PPE ■ 3
  284. ;     This is usually normal, but may be a tricky way to launch some
  285. ;     sysop-only commands.
  286. ;     ■ Search for : CALL
  287. ;
  288. ;------------------------------------------------------------------------------
  289. ;
  290. ; Postprocessing report
  291. ;
  292. ;    0       For/Next
  293. ;    0       While/EndWhile
  294. ;    7       If/Then or If/Then/Else
  295. ;    1       Select Case
  296. ;
  297. ;------------------------------------------------------------------------------
  298. ;                 AEGiS Corp - Break the routines, code against the machines!
  299. ;------------------------------------------------------------------------------
  300.